System and method for the transmission of data and streams containing video data Dvideo in a channel with given bitrate

ABSTRACT

System and method for multiplexing data Di and one or more streams containing video data D video  in a transmission channel with fixed bitrate comprising a multiplexer ( 11 ) and its controller ( 112 ), the multiplexer ( 11 ) comprising one to n inputs ( 11   v ) receiving the stream or streams D video , a bitrate allocator ( 12 ), the multiplexer ( 11 ) comprises an input ( 11   d ) for the data Di to be multiplexed, and the said system comprises at least the following elements: a memory ( 20 ) receiving the data to be multiplexed with the stream or streams D video , a bitrate estimator ( 21 ) which transmits a bitrate request Rd to the bitrate allocator ( 12 ), the bitrate request Rd is transmitted to the controller ( 112 ) of the multiplexer and delayed, the controller ( 112 ) is suitable for reading from the memory ( 20 ) the data Di to be multiplexed, up to compliance with the bitrate request Rd.

CROSS REFERENCES TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. §119 to French patentapplication Number FR1357281, filed Jul. 24, 2013, the disclosure ofwhich is incorporated herein by reference.

TECHNICAL FIELD

The subject of the invention relates to a method and a system fortransmitting data in a transmission channel with given bitratesimultaneously with a set of streams containing video data D_(video) andusing statistical multiplexing. The invention applies in the case ofvideo streams.

DISCUSSION ON PRIOR ART

The field of digital multimedia calls upon data compression schemes toenable the transmission of more services in one and the same bandwidth.It is thus possible to achieve a better compromise between on the onehand the quality of rendition and on the other hand the bitratenecessary to disseminate these data over a network.

It is thus known to use constant bitrate encoding techniques of CBR(Constant Bit Rate) type for data coding. The CBR mode generates aconstant bitrate predefined by the user. The drawback of this mode isthat the chosen target bitrate corresponds to the maximum bitratenecessary for the transmission of the most complex images. This resultsin poor use of the bandwidth for images of low complexities.

It is also known to use the variable bitrate or VBR (standing for VideoBit Rate) mode of coding, which makes it possible to preserve apredefined level of image quality whatever the complexity of a scene.The occupancy of the bandwidth of a transmission channel is thus betteroptimized.

Another way of proceeding is to apply statistical multiplexing inrespect of a set of coders. This makes it possible to allot each coder avariable bitrate depending on the complexity of the image to be coded.Each coder sends a bitrate demand to a bitrate allocator which returnsan instantaneous bitrate to the coders which depends on the set ofdemands of all the coders. The statistical multiplexing can be of theCBR type if the sum of the allocated bitrates is equal to the channelbitrate, or else be of the VBR type if the total bitrate is less than orequal to this channel.

The company Harmonic markets a device for multiplexing data with videostreams.

The following letters will be used in the description:

-   -   Rc is the bitrate of the transmission channel, Re is the input        bitrate of the data to be multiplexed, Rd is the bitrate request        and the bitrate allotted to data to be multiplexed,    -   Rvj: bitrate allotted to a coder for video stream transmission,        Rv the sum of the bitrates allotted to the set of coders, Qj a        coder's bitrate demand,    -   Di the data to be multiplexed, D_(video) the video data or video        stream or stream containing video data.

The word “data” designates the data to be multiplexed with the videostreams. The expression “video stream” designates a stream whichcomprises data included in a video service, video data, audio data,teletex, data for sub-titles or DVB-Subtitle, etc. The word coderdesignates the video coder.

SUMMARY OF THE INVENTION

The method according to the invention relies notably on the inserting ofa data stream into a transmission channel with fixed bitrate intendedmainly for the transport of signals arising from coders controlled by astatistical multiplexer.

The invention relates to a system for multiplexing data Di and one ormore streams containing video data D_(video) in a transmission channelwith fixed bitrate comprising at least one configuration interface forthe system, a multiplexer and its controller, the multiplexer comprisingone to n inputs receiving the stream or streams containing video dataD_(video), a bitrate allocator, the system is characterized in that themultiplexer comprises an input for the data Di to be multiplexed, thesaid system comprises at least the following elements: a memoryreceiving the data to be multiplexed with the stream or streamscontaining video data D_(video), a bitrate estimator which transmits abitrate request Rd to the bitrate allocator, the bitrate request Rd istransmitted to the controller of the multiplexer and delayed, forexample by a value ΔT, the controller is suitable for reading from thememory the data Di to be multiplexed, up to compliance with the bitraterequest Rd.

The system can comprise one or more of the following modules

-   -   a module for estimating bitrate of the data at input,    -   a module for determining degree of occupancy of the memory by        the data to be multiplexed,    -   a module adapted for calculating the memory delay between the        input data De and the output data Ds travelling across the        memory,        the said module or modules transmitting information to the        bitrate estimator module.

The system can comprise an element for instantaneous measurement oftotal bitrate Rt of the streams containing video data D_(video) at thelevel of the controller of the multiplexer, a module of the controllerreceiving the measured total bitrate Rt of the streams containing videodata D_(video), the data Di bitrate request Rd, the channel bitrate Rc,the said module being suitable for calculating an opportunistic databitrate Rdop equal to the channel bitrate minus the deterministic databitrate minus the total bitrate of the video streams, Rdop=Rc−Rd−Rt.

The invention also relates to a method for simultaneously multiplexingdata Di and one or more streams containing video data D_(video) in atransmission channel with fixed bitrate Rc by using a system exhibitingone of the above characteristics, the method is characterized in that itcomprises at least the following steps:

-   -   a bitrate request Rd in respect of the data Di to be multiplexed        according to a given configuration for the system is transmitted        to a bitrate allocator,    -   the request for bitrate Rd required is transmitted to the        controller of the multiplexer and delayed by a delay value ΔT,    -   the data to be multiplexed Di are read by the controller in a        memory up to compliance with the bitrate request Rd, the data Di        are transmitted to the multiplexer so as to be multiplexed with        the stream or streams containing video data D_(video).

The method can comprise a step of measuring at least one of thefollowing parameters:

-   -   the bitrate of the data at input and/or the degree of occupancy        of the memory by the data to be multiplexed, the memory delay        between the input data De and the output data Ds travelling        across the memory,    -   the measurements being transmitted to the bitrate estimator        module.

According to a variant embodiment, the total bitrate Rt of the streamscontaining video data D_(video) is measured and a value of opportunisticdata bitrate Rdop is calculated by taking account of the measuredbitrate of the video stream and of the bitrate Rd of the deterministicdata.

According to another variant embodiment a bitrate for the data to bemultiplexed is reserved equal to the bitrate at input with a determinedfixed delay.

According to another variant, a bitrate for the data to be multiplexedis reserved equal to the bitrate at input smoothed over a given constantduration.

It is also possible to determine the bitrate reserved for the data to bemultiplexed as a function of the degree of filling of the memory.

According to another variant the bitrate reserved for the data to bemultiplexed is chosen as a function of the measured delay of the data tobe multiplexed in the memory. It is also possible to take account of thedegree of fill of the memory and of the delay of the data.

The stream containing video data is a video stream.

BRIEF DESCRIPTION OF THE DRAWINGS

Other characteristics and advantages of the device according to theinvention will be more apparent on reading the description which followsof an exemplary embodiment given by way of wholly nonlimitingillustration, together with the figures which represent:

FIG. 1, a diagram of a first variant of the system according to theinvention, and

FIG. 2, a variant embodiment of FIG. 1 processing deterministic data andopportunistic data.

DESCRIPTION OF EMBODIMENTS

FIG. 1 shows diagrammatically an exemplary system according to theinvention where the insertion of data into the output channel is ofdeterministic type. The bitrate allotted to the data is calculated onthe basis of the data contained in a memory, said bitrate is perfectlymastered and is therefore called a deterministic bitrate. The bitrate isreserved by anticipation. The data are received for example in an MPEGformat which is compatible with the format of the data arising fromvideo coders.

The system comprises a Man Machine Interface (MMI) which will make itpossible to configure the system.

The system comprises a set of video coders 10 ₁, 10 ₂, . . . 10 _(n) inconjunction with a multiplexer 11 and its controller 112, and a bitrateallocator 12 whose function is notably to calculate the bitrate whichwill be allocated to each stream. The multiplexer 11 comprises n inputs11 v for the video streams D_(video) and an additional input 11 d of thedata to be multiplexed Di.

The set of video coders 101, 10 ₂, 10 _(n) provides the compressed videostreams and the associated components. Each video coder 10 ₁, 10 ₂, . .. 10 _(n) makes a request Qj for bitrate to the bitrate allocator 12. Inreturn the bitrate allocator 12 transmits the bitrate value Rvj which isallocated to a video coder to transmit the video data. The various videostreams arising from the coders are transmitted, by an appropriatemeans, to the multiplexer 11 in charge of multiplexing them in thetransmission channel 14. There exists a time or delay, noted ΔT, betweenthe instant at which a video coder receives a bitrate order and theinstant at which the bitrate is actually equal to this command.

The multiplexer 11 is adapted for multiplexing the data D_(i) and thevideo data D_(video). The function of its controller 112 is notably tocontrol the transfer of the data Di between a memory 20 in which thedata Di are stored and the input 11 d of the multiplexer. The controller112 will receive the bitrate requested Rd for the data Di, and it willcarry out a transfer of data Di between the memory 20 and the input 11 dof the multiplexer with a delay equal to ΔT so as to compensate for thedelay of the video coders.

The memory 20 makes it possible to temporarily store the data Di to bemultiplexed with the video streams in the transmission channel. The datawill be inserted best into the transmission channel as a function ofcriteria related on the one hand to the configuration given by a userand, on the other hand, to the characteristics of the incoming videostreams. The memory 20 is in conjunction with a bitrate estimator 21which makes a bitrate request Rd to the allocator 12 of the multiplexer11 in a manner similar to a video coder. The bitrate estimator 21receives, for example, information from a module 22 for estimatingbitrate of the data at input, and/or an item of information from amodule 23 for calculating degree of occupancy of the memory by the datato be multiplexed. The bitrate estimator 21 is also in conjunction witha module 24 suitable for calculating the memory delay between the inputdata De and the output data Ds, i.e, the time taken by the data totravel across the memory.

The bitrate request Rd is dependent on the one hand on the systemoptimization desired by the user and, optionally, dependent on the otherhand on several criteria which may be the input bitrate Re of the data,the degree of filling X of the memory 20 and/or the time Td resultingfrom the time taken by the data to cross the memory 20.

The bitrate request Rd is allotted by priority by the allocator 12 (thebitrate is imposed on the allocator). The allocator 12 will distributebetween the video coders a bitrate Rv equal to the bitrate Rc of thetransmission channel minus the bitrate allotted Rd to the data. Thereare therefore no losses in the data transmission.

The bitrate demand Rd is transmitted to the controller 112 of themultiplexer which will thus read from the memory 20, data Di up tocompliance with the deterministic bitrate request in this example. Thebitrate request Rd is delayed by ΔT in a delay module 15 so as tocompensate for the delay taken by a video coder between the bitrateallocation and the actual presence of this bitrate at the output of thecoder in such a way that all the bitrates (data bitrate, video streamsbitrate) are in phase at the input of the multiplexer and avoid anyunder or over-bitrate at the output of the multiplexer.

The operation of the system in deterministic mode is explainedhereinafter.

The user configures the mode of operation of the system as a function ofthe type of data that he wishes to multiplex with the video streams.Configuration is carried out through the man machine interface or MMIand software which configure the various blocks and modules described inthe invention.

The reservation of bitrate in the output channel in the deterministicmode can be done, for example, according to five modes chosen by theuser:

-   -   a so-called LAR mode in which the bitrate reserved for the data        Di to be multiplexed at the output of the estimator of bitrate        of the data to be multiplexed is equal to the bitrate at input        with a fixed delay determined by the user,    -   a LARsmoothed mode in which the bitrate reserved for the data Di        to be multiplexed at the output of the bitrate estimator is        equal to the bitrate at input, smoothed over a constant duration        chosen by the user. More precisely, the smoothing technique        consists, for example, in averaging the bitrates at input over a        time span of fixed duration. The smoothing is all the greater        the longer this time span,    -   a memory mode in which the bitrate reserved for the data Di to        be multiplexed at the output of the bitrate estimator is        dependent on the memory filling,    -   a temporal mode for which the bitrate reserved for the data Di        to be multiplexed at the output of the bitrate estimator is        dependent on the measured delay of the data to be multiplexed in        the memory,    -   a mixed mode resulting from the combination of the two modes,        memory and temporal. The bitrate reservation is dependent on the        memory filling, if it is too low, the data may take an excessive        time to cross this memory. This defect is compensated for by        combining the temporal mode with the memory mode.

Moreover, if the statistical multiplexing is of the VBR type, thereexist instants at which the total bitrate Rt, that is to say the bitrateof the coders Rv plus the deterministic bitrate Rd, is less than thebitrate of the channel Rc, for example if several coders transmit afixed image at the same instant. There is therefore an opportunity toadd further data that will therefore be called opportunistic.

FIG. 2 shows diagrammatically a variant embodiment making it possible tooptimize the transmission of data. An element 30 for instantaneousmeasurement of total bitrate Rt of the video streams is added at thelevel of the controller 112 of the multiplexer. A module 31 of thecontroller receives the value of the measured total bitrate Rt of thevideo streams, the data bitrate value Rd, the value of the channelbitrate Rc. The module 31 calculates an opportunistic data bitrate Rdopequal to the channel bitrate minus the deterministic data bitrate minusthe total bitrate of the video streams, Rdop=Rc−Rd−Rt. The data Di to bemultiplexed with the video stream correspond to the data Di according toa deterministic bitrate mode plus the data Diop with an opportunisticbitrate. The controller 112 of the multiplexer will read these data frommemory 20 and transmit them to the input 11 d of the multiplexer 11.

Depending on the type of data to be transmitted, the appropriate modewill be selected:

-   -   for priority data to be transmitted in a transparent manner, for        example, video, the aforementioned LAR mode is chosen;    -   for interactive data of interactive television or iTV: the delay        in the multiplexer must be mastered, then smoothed LAR mode will        be employed;    -   in the case of non-priority data, the mixed mode is selected.

Without departing from the scope of the invention, the method can beapplied for real-time data streams which are not video streams, butwhich contain video data.

In the case of a system operating with all the outputs of the coders atzero bitrate, so as to fill the entire channel, the method willmultiplex several additional data pathways. A constraint in respect ofthe implementation of the method is that the sum of the instantaneousbitrates of all these pathways be less than the channel bitrate.

ADVANTAGES

The method and the system according to the invention exhibit notably theadvantage of giving back bitrate to the video streams, according to amode chosen as a function of the priority or non-priority character ofthe data on the video. They make it possible notably to insert thesedata according to several modes configurable by the user as a functionof the priority or non-priority character of the data on the video. Themodes of configuration explained above cover the entire range from themaximum priority to video (respectively data) to the minimum priority tovideo (respectively data) while guaranteeing lossless data transmission.

The invention claimed is:
 1. A system for multiplexing data (Di) and oneor more streams containing video data (Dvideo) in a transmission channelwith fixed bitrate comprising: at least one configuration interface; amultiplexer and its controller, the multiplexer comprising one to ninputs for receiving the one or more streams containing video data(Dvideo) and an input for receiving the data (Di) to be multiplexed, abitrate allocator; a memo configured to receive the data (Di) to bemultiplexed with the one or more streams containing video data (Dvideo);and a bitrate estimator configured to transmit a bitrate request (Rd) tothe bitrate allocator, the bitrate request (Rd) is transmitted to thecontroller of the multiplexer, and the bitrate request (Rd) is delayed,wherein the controller is suitable for reading from the memory the data(Di) to be multiplexed, up to compliance with the bitrate request (Rd).2. The system according to claim 1, wherein the system furthercomprises: an input bitrate estimator of the data at input, acalculation algorithm for occupancy rate in memory of the data to bemultiplexed, a calculation memory delay between the input data (De); andthe output data (Ds) travelling across the memory.
 3. The systemaccording to claim 1 wherein the system further comprises: an elementfor instantaneous measurement of a total bitrate (Rt) of the one or morestreams containing video data (Dvideo) at the level of the controller ofthe multiplexer, a module of the controller for receiving the measuredtotal bitrate (Rt) of the one or more streams containing video data(Dvideo), the data (Di), the bitrate request (Rd), a channel bitrate(Rc), the module being suitable for calculating an opportunistic databitrate (Rdop) equal to the channel bitrate minus the deterministic databitrate minus the total bitrate of the one or more streams containingthe video data, Rdop=Rc−Rd−Rt.
 4. The system according to claim 2wherein the system further comprises: an element for instantaneousmeasurement of a total bitrate (Rt) of the one or more streamscontaining video data (Dvideo) at the level of the controller of themultiplexer, a module of the controller for receiving the measured totalbitrate (Rt) of the one or more streams containing video data (Dvideo),the data (Di), the bitrate request (Rd), a channel bitrate (Rc), themodule being suitable for calculating an opportunistic data bitrate(Rdop) equal to the channel bitrate minus the deterministic data bitrateminus the total bitrate of the streams containing the video data,Rdop=Rc−Rd−Rt.
 5. The system according to claim 1 wherein the one ormore streams containing video data (Dvideo) are video streams.
 6. Amethod for simultaneously multiplexing data (Di) and one or more streamscontaining video data (Dvideo) in a transmission channel with a fixedbitrate (Rc) comprises: transmitting a bitrate request (Rd) to a bitrateallocator in respect of the data (Di) to be multiplexed according to agiven configuration; transmitting the bitrate request (Rd) to acontroller of a multiplexer and the bitrate request (Rd) is delayed by adelay value (ΔT); and reading the data to be multiplexed (Di) by thecontroller in a memory up to compliance with the bitrate request (Rd),the data (Di) are transmitted to the multiplexer so as to be multiplexedwith the one or more streams containing video data (Dvideo).
 7. Themethod according to claim 6, wherein the method comprises measuring atleast one of the following parameters: the bitrate of input data (De) atan input, a degree of occupancy of the memory by the data (Di) to bemultiplexed, and a memory delay between the input data (De) and outputdata (Ds) travelling across the memory.
 8. The method according to claim6 wherein a total bitrate (Rt) of the one or more streams containingvideo data (Dvideo) is measured and a value of an opportunistic databitrate (Rdop) is calculated by taking account of the measured totalbitrate (Rt) of the one or more streams containing video data (Dvideo)and of a deterministic bitrate.
 9. The method according to claim 6wherein a total bitrate (Rt) of the one or more streams containing videodata (Dvideo) is measured and a value of an opportunistic data bitrate(Rdop) is calculated by taking account of the measured bitrate (Rt) ofthe one or more streams containing video data (Dvideo) and of adeterministic bitrate.
 10. The method according to claim 6 wherein abitrate for the data (Di) to be multiplexed is reserved to be equal to abitrate at an input with a determined fixed delay.
 11. The methodaccording to claim 6 wherein a bitrate for the data (Di) to bemultiplexed is reserved to be equal to a bitrate at an input smoothedover a given constant duration.
 12. The method according to claim 6wherein a bitrate reserved for the data (Di) to be multiplexed isdetermined as a function of a degree of fill of the memory.
 13. Themethod according to claim 6 wherein a bitrate reserved for the data (Di)to be multiplexed is chosen as a function of a measured delay of thedata (Di) to be multiplexed in the memory.
 14. The method according toclaim 10 wherein the bitrate reserved for the data (Di) to bemultiplexed is chosen as a function of a measured delay of the data (Di)to be multiplexed in the memory.
 15. The method according to claim 6,wherein the one or more streams containing video data (Dvideo) are videodata streams.